﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Budget.DataAccess;

namespace Budget.WCF
{
	// NOTE: If you change the interface name "ICategoryService" here, you must also update the reference to "ICategoryService" in App.config.
	[ServiceContract]
	public interface ICategoryService
	{
		/// <summary>
		/// Gets all Category objects.
		/// </summary>
		[OperationContract]
		IList<Category> GetAll();

		/// <summary>
		/// Gets a Category object.
		/// </summary>
		/// <param name="ID">The ID of the category to get.</param>
		/// <returns></returns>
		[OperationContract]
		Category GetCategoryById( int ID );

		/// <summary>
		/// Saves a single Category object, either inserting or updating the records values
		/// </summary>
		/// <param name="income"></param>
		[OperationContract]
		void Save( Category category );
	}
}
